# 复制

本页面介绍如何在 LangChain 中的 Replicate 上运行模型。

## 安装和设置

- 创建一个 [Replicate](https://replicate.com) 账户。获取 API 密钥并将其设置为环境变量 (`REPLICATE_API_TOKEN`)

- 使用 `pip install replicate` 安装 [Replicate python 客户端](https://github.com/replicate/replicate-python)

## 调用模型

在 [Replicate 探索页面](https://replicate.com/explore) 上找到一个模型，然后按照以下格式粘贴模型名称和版本：`owner-name/model-name:version`

例如，对于这个 [dolly 模型](https://replicate.com/replicate/dolly-v2-12b)，点击 API 标签页。模型名称/版本将是：`"replicate/dolly-v2-12b:ef0e1aefc61f8e096ebe4db6b2bacc297daf2ef6899f0f7e001ec445893500e5"`

只有 `model` 参数是必需的，但也可以使用 `input={model_param: value, ...}` 的格式传递任何其他模型参数。

例如，如果我们要运行 stable diffusion 并且想要更改图像尺寸：

```
Replicate(model="stability-ai/stable-diffusion:db21e45d3f7023abc2a46ee38a23973f6dce16bb082a930b0c49861f96d1e5bf", input={'image_dimensions': '512x512'})
```

*请注意，模型的第一个输出将被返回。*

从这里，我们可以初始化我们的模型：

```python
llm = Replicate(model="replicate/dolly-v2-12b:ef0e1aefc61f8e096ebe4db6b2bacc297daf2ef6899f0f7e001ec445893500e5")
```

然后运行它：

```python
prompt = """
Answer the following yes/no question by reasoning step by step.
Can a dog drive a car?
"""
llm(prompt)
```

我们可以使用这种语法调用任何 Replicate 模型（不仅仅是 LLMs）。例如，我们可以调用 [Stable Diffusion](https://replicate.com/stability-ai/stable-diffusion)：

```python
text2image = Replicate(model="stability-ai/stable-diffusion:db21e45d3f7023abc2a46ee38a23973f6dce16bb082a930b0c49861f96d1e5bf", input={'image_dimensions':'512x512'})
image_output = text2image("A cat riding a motorcycle by Picasso")
```